1.list
可將多個值儲存到一個變數中,通常我們會使用方括號將所有值括起來。列表內允許重複的值出現。
範例:
animals = ["pig", "lion", "horse", "cat"]
print(animals[0]) #結果為pig
for x in animals:
print(x) #列出list內的所有值
animals.append("dog") #加入一個值dog到list內
print(animals)
animals.remove("lion") #刪除在list內的一個值lion
print(animals)
print(fruits.index("pig")) #找出pig的索引值(結果為0)
animals.append("dog")
print(animals.count("dog")) #找出有幾個dog元素(結果為2)
animals.reverse() #將list內的順序反轉
print(animals)
2.set
通常我們會將一個set的值用大括號括起來,裡面不允許一個set內出現重複的值,且set是沒有順序的。
範例:
weather_set = {"sunny", "cloudy", "rainy", "windy"}
for x in weather_set:
print(fruit)
if "sunny" in weather_set:
print("Yes")
else:
print("No")
3.tuple元組
由括號所組成,tuple是有順序且不能改變的。
範例:
animals_tuple = ("pig", "lion", "horse", "pig")
result = animals_tuple.count("pig")
print(result)
animals_tuple.add("cat") #會顯示錯誤,因為tuple不能夠被修改。
4.dictionary
由鍵值所組成,鍵值對英文是key value,其具有順序性及可變性,但不允許有重複的鍵,鍵值可對任意的資料型別。
範例:
voc = {
"a": "apple",
"b": "banana",
"c": "candy",
"d": "doll"
}
print(voc.get("a")) #取得鍵值對,結果為apple
voc.update({"e": "elephant"}) #更新鍵值對
print(voc)
voc.pop({"c": "candy"}) #刪除鍵值對
print(voc)
print(voc.values()) #取得所有值
print(voc.items()) #取得所有鍵值對
了解各種集合類型後,讓我們透過練習來更加熟習他們的應用!
練習1:購物車程式
goods = []
prices = []
#無窮迴圈
while True:
good = input("請輸入購買商品(退出請輸入n):")
if good.lower() == "n":
break
price = float(input(f"請輸入{good}的價錢:"))
goods.append(good)
prices.append(price)
for index, good in enumerate(goods): #可印出列表的索引和物品
print(f"第{index +1}個商品是{good}, 價格是{prices[index]:.2f}:")
total = sum(prices) #計算總和
print(f"總共為{total}")
練習2:販賣機程式
menu = {
"汽水": "20"
"調酒": "100"
"咖啡": "80"
"奶茶": "50"
}
print("飲料機menu")
print("-----------")
cart = []
for item, price in menu.items():
print(f"{item}: {price}")
while True:
food = input("")
if food == "n":
break
elif menu.get(food) is None:
print("目前無販售")
else:
cart.append(food)
total += menu.get()
print(food)
print(f"共{total}元")